package com.example.demo.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Created with IntelliJ IDEA.
 * Description: 代码方式操作 Redis
 */
@RestController
public class RedisController {

    // Spring 自动注入
    // 一个对象就可以控制所有数据类型
    // 至于类名为什么以 String 开头，只能说官方不太规范
    @Autowired
    private StringRedisTemplate stringRedisTemplate;

    // 写操作
    @RequestMapping("/set")
    public String setRedis() {
        // opsForValue() 就是操作 String 类型数据读取
        // 第一个参数 key，第二个参数 value，第三个参数过期时间（可以不设置，-1永不过期）
        stringRedisTemplate.opsForValue().set("username", "zhangsan");
        return "redis 存储成功！";
    }

    // 读操作
    @RequestMapping("/get")
    public String getRedis() {
        return stringRedisTemplate.opsForValue().get("username");
    }
}
